package com.guigu.service;

import com.alibaba.dubbo.config.annotation.Service;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.guigu.dao.HabitusMapper;
import com.guigu.entity.PageResult;
import com.guigu.pojo.Habitus;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

/**
 * @author 陈小婷
 * @date 2021/4/22
 */
@Service(interfaceClass=HabitusService.class)
public class HabitusServiceImpl implements HabitusService {
    @Autowired
    private HabitusMapper habitusMapper;
    /**
     * 新增体质检测数据
     *
     * @param habitus
     * @return
     */
    @Override
    public boolean add(Habitus habitus) {
        System.out.println("体质测评的添加："+habitus);
        int insert = habitusMapper.insert(habitus);
        if (insert>0) {
            System.out.println("添加成功");
            return true;
        }
        return false;
    }

    /**
     * 根据id删除体制检查项
     *
     * @param id
     * @return
     */
    @Override
    public boolean delete(Integer id) {
        System.out.println("体质测试删除id："+id);
        int i = habitusMapper.deleteById(id);
        if (i>0){
            System.out.println("删除成功");
            return true;
        }
        return false;
    }

    /**
     * 修改体制检查项
     *
     * @param habitus
     * @return
     */
    @Override
    public boolean edit(Habitus habitus) {
        System.out.println("体质测评的修改："+habitus);
        int i = habitusMapper.update(habitus);
        if (i>0){
            System.out.println("修改成功");
            return true;
        }
        return false;
    }

    /**
     * 根据id查询
     *
     * @param id
     * @return
     */
    @Override
    public Habitus findById(Integer id) {
        return habitusMapper.selectById(id);
    }

    /**
     * 查询全部
     *
     * @return
     */
    @Override
    public List<Habitus> findAll() {
        return habitusMapper.findAll();
    }

    /**
     * CheckItemService 服务接口中扩展分页查询方法
     *
     * @param currentPage
     * @param pageSize
     * @param queryString
     * @return
     */
    @Override
    public PageResult pageQuery(Integer currentPage, Integer pageSize, String queryString) {
        PageHelper.startPage(currentPage,pageSize);
        Page<Habitus> habituses = habitusMapper.selectByCondition(queryString);
        return new PageResult(habituses.getTotal(),habituses.getResult());
    }
}
